|
(******************************************************************************)
(**) ОТДЕЛ ОберГла+;
(******************************************************************************)
(* НАЗНАЧЕНИЕ: перевод служебных слов Оберона в служебные слова Глагола *)
(******************************************************************************)
ИСПОЛЬЗУЕТ
ОС ИЗ "...\Отделы\Обмен\",
Параметр ИЗ "...\Отделы\Обмен\",
Читать ИЗ "...\Отделы\Обмен\",
Писать ИЗ "...\Отделы\Обмен\",
Вывод ИЗ "...\Отделы\Обмен\",
Файл ИЗ "...\Отделы\Обмен\",
Слова;
(******************************************************************************)
ЗАДАЧА Ошибка1(ц-:ЦЕПЬ);
УКАЗ
Вывод.Цепь(ц);
Вывод.Цепь("^ОберГла вх.файл(ы)<.MOD>");
СТОП(1)
КОН Ошибка1;
(******************************************************************************)
ЗАДАЧА Ошибка2(ц1-,ц2-:ЦЕПЬ);
УКАЗ
Вывод.Цепь(ц1);
Ошибка1(ц2)
КОН Ошибка2;
(******************************************************************************)
ЗАДАЧА Голова();
ПЕР
ч:Читать.Поток;
п:Писать.Поток;
поиск:Файл.Поиск;
имя:Файл.ВПолного;
УКАЗ
ЕСЛИ Параметр.всего <= 1 ТО Ошибка1("Нет имени входного файла") КОН;
Параметр.Текст(1,имя);
ЕСЛИ НЕ ОС.ПервыйПоискФ(имя,поиск) ТО Ошибка2(имя," не найден(ы)") КОН;
ПОВТОРЯТЬ
СПИСАТЬ(поиск.имя,имя);
ч:=Читать.Открыть(имя);
ЕСЛИ ч = ПУСТО ТО Ошибка2(имя," не открывается") КОН;
ч.видЗнаков:=Читать.знВин;
Вывод.Цепь(имя);
Вывод.Цепь(" -> ");
Файл.ИзменитьТип(имя,".отд");
п:=Писать.Открыть(имя);
ЕСЛИ п = ПУСТО ТО Ошибка2(имя," не открывается") КОН;
п.видЗнаков:=Писать.знУни;
Вывод.Цепь(имя);
Вывод.Цепь("^");
Слова.Перевод(ч,п);
Читать.Закрыть(ч);
Писать.Закрыть(п)
ДО НЕ ОС.СледующийПоискФ(поиск)
КОН Голова;
УКАЗ
Голова
КОН ОберГла.
▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
|
|